package com.tanhua.dubbo.api;


import com.tanhua.domain.mongo.UserLike;
import com.tanhua.domain.vo.PageResult;

public interface UserLikeApi {

    /**
     * 分别查询互相关注数、喜欢数、粉丝数
     * @param userId
     * @return
     */
    Long queryEachLoveCount(Long userId);
    Long queryLoveCount(Long userId);
    Long queryFansCount(Long userId);

    /**
     * 分别查询互相关注、喜欢、粉丝、谁看过我列表
     * @param userId
     * @param page
     * @param pagesize
     * @return
     */
    PageResult queryEachLoveList(Long userId, Integer page, Integer pagesize);
    PageResult queryLoveList(Long userId, Integer page, Integer pagesize);
    PageResult queryFansList(Long userId, Integer page, Integer pagesize);
    PageResult queryVisitorsList(Long userId, Integer page, Integer pagesize);

    /**
     * 删除粉丝数据
     * @param userId
     * @param fanId
     */
    void delete(Long userId, Long fanId);

    /**
     * 删除好友关系
     */
    void deleteFriend(Long userId, Long fansId);

    /**
     * 添加粉丝数据
     */
    void saveFans(UserLike userLike);

    /**
     * 取消喜欢
     */
    void deleteLove(Long userId, Long fansId);

    /**
     * 查询粉丝数据
     * @param userId
     */
    boolean findById(Long soundId, Long userId);

    /**
     * 根据用户Id和喜欢的用户Id，查询数据
     */
    UserLike findUserLike(Long userId, Long recommendUserId);

    /**
     * 保存userId=当前用户Id，likeUserId=推荐用户Id的数据
     */
    void save(UserLike userLikeOne);
}
